package site.isscloud.project.service;

import site.isscloud.project.domain.PjAlarmEvent;
import site.isscloud.project.domain.PjLocation;
import site.isscloud.project.dto.TemperatureTrendDTO;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface BuildingService {

    /**
     * 获取电梯详情
     */
    Map<String, Object> getElevatorDetail(String lcId);

    /**
     * 获取温度趋势数据
     */
    Map<String, Object> getTemperatureTrend(String lcId, String timeType, Date startTime, Date endTime);

    List<String> getWarningFloors(PjLocation elevator);

    /**
     * 生成实时温度图表数据
     */
    Map<String, Object> generateRealtimeChartData(PjLocation elevator);

    /**
     * 生成趋势图表数据
     */
    Map<String, Object> generateTrendChartData(PjLocation elevator, String timeType);

    /**
     * 获取最新的温度统计数据
     */
    Map<String, Map<String, Object>> getLatestTemperatureStats();

    /**
     * 根据位置编码获取温度统计数据
     */
    Map<String, Object> getTemperatureStatsByLocationCode(String lcCode);

    /**
     * 获取异常楼层信息
     */
    List<String> getAbnormalFloors(PjLocation location, List<PjAlarmEvent> alarms);

}